(load "collection.el")

(defun Bag (name)
  (let* ((*class "Bag")
	 (*instance-name name)
	 (*value ())
	 (*super (Collection name))
	 
	 (*dispatch
	  (lambda (msg)
	    (cond

	     ;;p169 ST-80
	     ((eq msg "add:")
	      (lambda (anObject)
		(setq *value (append (list anObject) *value))))

	     (t
	      ((*super msg)))
	     )))
	 )
    
    *dispatch))
